#ifndef __EKF_TASK_I_H__
#define __EKF_TASK_I_H__

/* The symbol is defined in kernel.S */
extern unsigned char tasks_start[];

#define TASK(_lcpu) ((volatile struct taskstate_s *)(tasks_start + TASK_OFFSET(_lcpu)))

int task_init(void);
int task_init_ap(void);

uintptr_t lcpu_get_kstack_top(int lcpu);
void      lcpu_set_kstack_top(int lcpu, uintptr_t ksp);

#endif
